Brain emulator support system

ABSTRACT

A technology to build emulated nervous systems is presented here, as well as the interface method for operating the emulated nervous system. The technology provides for inclusion of neuroanatomically accurate definitions organized hierarchically. This permits a highly realistic nervous system to be created and interact with its surrounding environment.

CROSS-REFERENCE TO RELATED APPLICATIONS

Provisional Application Ser. No. 62/035,390, BRAIN EMULATOR SUPPORTSYSTEM, filed Aug. 9, 2014

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

Not Applicable

REFERENCE TO SEQUENCE LISTING, A TABLE, OR A COMPUTER PROGRAM LISTINGCOMPACT DISK APPENDIX

Not Applicable

REFERENCES

-   Malcom Carpenter, Human Neuroanatomy, January 1996 IISBN-10:    0683067524 IISBN-13: 978-0683067521-   K. Brodmann, Localisation in the Cerebral Cortex, December 2005    ISBN: 978-0-387-26917-7-   Lodish H, Berk A, Zipursky S L, et al., Overview of Neuronal    Outgrowth, Molecular Cell Biology, W.H. Freeman and Company-   Chai MuhChyi, Berry Juliandi, Taito Matsuda, Kinichi Nakashima,    “Epigenetic regulation of neural stem cell fate during    corticogenesis,” International Journal of Developmental    Neuroscience, Volume 31, Issue 6, October 2013, Pages 424-433, ISSN    0736-5748-   Hakan Kucukdereli, Nicola J. Allen, Anthony T. Lee, Ava Feng, M.    Ilcim Ozlu, Laura M. Conatser, Chandrani Chakraborty, Gail Workman,    Matthew Weaver, E. Helene Sage, Ben A. Barres, and Cagla Eroglu,    “Control of excitatory CNS synaptogenesis by astrocyte-secreted    proteins Hevin and SPARC,” PNAS 2011 108 (32) 12983-12984-   Steinmetz C C, Buard I, Claudepierre T, Nagler K, Pfrieger F W,    “Regional variations in the glial influence on synapse development    in the mouse CNS,” J Physiol 577: 249-261 2006-   Louis Hugues Nicolas Bredech, Simbad, 2004, simbad.sourceforge.net/-   Patsy S Dickinson, “Neuromodulation of central pattern generators in    invertebrates and vertebrates,” Current Opinion in Neurobiology    Volume 16, Issue 6, December 2006, Pages 604-614-   Ann E. Kelley, Brian A. Baldo, Wayne E. Pratt, Matthew J. Will,    “Corticostriatal-hypothalamic circuitry and food motivation:    Integration of energy, action and reward,” Physiol Behav. 2005 Dec.    15; 86(5):773-95. Epub 2005 November 14-   Tommaso Felin, “Communication between neurons and astrocytes:    relevance to the modulation of synaptic and network activity,”    Journal of Neuro chemistry Volume 108, Issue 3, pages 533-544,    February 2009

TECHNICAL FIELD

The subject technology is in the technical field of nervous systememulation and simulation, as well as systems and methods for buildingthe emulation, and apparatus for making use thereof.

BACKGROUND

The technology's background stems from earlier work in the field ofbiological neural networks. This field differentiates itself from bothNeural Networks (NN) and Artificial Neural Networks (ANN). The lattertwo fields are biologically inspired stochastic and probabilisticprocesses for categorizing, analyzing and recognizing narrow categoriesof data. Their most recent successes in the fields of Big Data analysis,handwriting and vision have made them quite popular. Yet, they remainnarrow in their focus, difficult to integrate together, e.g. vision andaudition, and require hundreds to thousands of training trials beforetheir recognition accuracy is sufficient for commercial application. Incontrast, biological neural networks have proved useful for modelingneural tissue but do to organizational complexity the models aretypically limited to hundreds to thousands of neurons. The technologypresented here overcomes both the issues of organizational complexity ofbiological neural networks as well as the integration issues of NNs andANNs.

ADVANTAGES

Neurological illnesses, such as Alzheimer's and Epilepsy, affect morethan 50 million Americans annually at a cost of more than $500 billion.A tool which can model cerebral cortex and cerebral nuclei could bevital in the research to reduce these costs.

The technology presented here poses a complete management solution toaddress the problem of integrating sensors, actuators and subsystemscontrol for robots. Like humanoid robots the technology uses biology asits model to address these problems.

The technology could replicate the emotional cortical structures ofhumans and be applied to the challenge of accurately monitoring andpredicting human emotions. The practical application of an emotionalmonitor spans the fields of entertainment, personal assistants andsecurity.

Because the technology builds nervous system simulations and becausenervous systems are capable of intelligence there is the potential toprovide significant innovation in the field of creating artificiallyintelligent systems. Such learning systems have wide application invisual systems and inspection, language and translation, large dataanalysis, and intelligent embedded systems in electronic products asdiverse as telephones, toys, televisions, computers and “companions” fordisabled or elderly. It would also provide an intelligent base formonitoring and control of devices integrated by the Internet of Things(IoT) in homes and the workplace.

SUMMARY

The subject technology organizes hierarchically organized, neuroanatomicdefinitions to create nervous system (NS) simulations. Though there aregood tools available to simulate biologically accurate individualneurons and small collections of quasi-neurons for special purposealgorithms (neural networks) there are no off-the-shelf tools formassively simulating or emulating entire biological NSs. However, withthe subject technology any NS that can be sufficiently defined can bebuilt and simulated. The more accurate and complete the definitions themore closely the resulting NS will replicate a biological system. Assuch, the subject technology is unique and would support many importantfunctions.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a topological and functional overview of the variouscomponents of a completed Nervous System Environment in use.

FIG. 2 illustrates structure of a Nervous System Environment.

FIG. 3 illustrates functional relationships between the components ofthe Nervous System Environment.

FIG. 4 illustrates modeling an Autonomic Nervous System.

FIG. 5 illustrates coordinate topology in the form of a CoordinateSuperstructure with Blocks.

FIG. 6 illustrates Coordinate Superstructure with Blocks overlaid withBrodmann area numbers for each block.

FIG. 7 illustrates hierarchical, user supplied neuroanatomic definitionsused to build a NS.

FIG. 8 illustrates Build Phase I and Build Phase II processes whichconstruct the Nervous System Environment.

FIG. 9 illustrates Build Phase I processes in further detail.

FIG. 10 illustrates Neuron Record detail that results from the BuildPhase I process.

FIG. 11 illustrates memory record detail that is a part of the NeuronRecord.

FIG. 12 illustrates Build Phase II processes in further detail.

FIG. 13 illustrates Peripheral Neural Structures and Non-NeuralStructures which result from the Build Phase II processes.

FIG. 14 illustrates processes for updating an inhibitory neuron's stateduring a simulation run.

FIG. 15 illustrates processes for updating an excitatory neuron's stateduring a simulation run.

DETAILED DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates Nervous System Environment 4 interacting with anexternal environment consisting of Sensor Data 1 that serves as input aswell as consisting of Actuators 60 which serve as output devices. Data 1could be any analog or digital signal; commonly consisting of visual orauditory data but also including IoT devices like thermal, or roboticdevices for pressure or for stepper motor rotation. Likewise, Actuators60 could include any kind of electronic or electro-mechanical device,commonly a sound producing vocal generator but also including IoTactuators like sound or lighting control or for robotic devices likearms, legs, and hands. Sensor Data 1 is passed to Peripheral NervousSystem 10 where it is converted into a Neural Signal 3 by user suppliedInput Transducers 2 and buffered for use by Peripheral Neurons 14.Neurons 14 use the buffered input to activate their axons directly.Those axon signals are then processed by the Central Nervous System 9.The Central Nervous System 9 also sends its own axon signals to Neurons14 which activates Neuron 14's dendrites from which Neural Signals 5 areextracted and buffered for conversion by Output Transducers 6. Resultingtransduced signals become the Control Signals 7 fed to electro orelectro-mechanical Actuators 60 that form part of an environment whichis external to Environment 4. In addition to Central Nervous System 9and Peripheral Nervous System 10 the Nervous System Environment 4 mayinclude Non-Neural Components 11, which are detailed further in FIG. 2,FIG. 3 and FIG. 4. Non-Neural Components 11 are optional and can bethought of as interior aspects of the human body like blood or hormones.An additional part of the environment external to Environment 4 consistsof the user's ability to monitor and control Environment 4. This occursthrough a direct Manager Interface 50 which takes data from Control 52,prepared form data from the User, for starting and stopping Environment4. As well, Manager Interface 50 can extract Environment 4's data,format it and report it through a Reporting 54 component to the User.FIG. 2 illustrates a structural view of the isolated Nervous SystemEnvironment 4 and consists of three main components: Central NervousSystem 9, Peripheral Nervous System 10 and Non-Neural Components 11.Central Nervous System 9 models the brain and spinal cord and PeripheralNervous System 10 models spinal and cranial nerves. Central NervousSystem 9 consists of Cortical Neurons 12 and Subcortical Neurons 13.Neurons 12 model the cerebral hemispheres and Neurons 13 model brainstem structures and the cerebellum. Peripheral Nervous System 10consists of Transducer Methods 2 and 6, written in a computer languagelike Java, for transducing data into and out of Environment 4respectively. Additionally, Peripheral Nervous System 10 containsPeripheral Buffers 15 for the temporary storage of data passing through2 and 6. Peripheral Buffers 15 either take data from or pass data to thePeripheral Neurons 14. Also illustrated in FIG. 2 are optionalNon-Neural components 11. A typical example of Non-Neural components 11would be a Blood Component 16. That component can then serve as acarrier of any desirable substance. In FIG. 2, the substances shown areHormones 17, Peptides 18 and Neurotransmitters 19. It is noteworthy thatthe optional components could also be entire organs or organ systems,for example the digestive tract.

FIG. 3 illustrates in further detail the functional relationships of thecomponents of Nervous System Environment 4. As depicted, Sensory Data 1is transduced at Transducer 2 and buffered at Peripheral Buffers 15. Thebuffered data activates Neurons 14 and results may pass to SubcorticalNeurons 13. Neurons 13 may in turn, pass data to Cortical Neurons 12.Neurons 12 process the information at which point there may be aturnaround through the aforementioned structures: Neurons 12 passingdata to Neurons 13, which pass data to Neurons 14 and in turn to Buffers15. The outbound signals can then be transduced at Transducer Method 6and pass externally as Control Signals 7. Optionally, and as illustratedhere with Blood Components 17, 18 and 19, they can also cause a signalto be generated and processed as the aforementioned Data 1. It is alsonoteworthy that depending on the Neurons 13 and their function there maybe no Neural Signal passed to Neurons 12. That is, the extent of thesubcortical processing could remain within Neurons 13 as in the caseshown in FIG. 4.

FIG. 4 illustrates modeling an Autonomic Nervous System 40 with thetechnology. This is an optional step. In this figure Autonomic NervousSystem 40 is divided into three primary components: Peripheral NervousSystem 10, Subcortical Neurons 13 and Non-Neural Components 11;collectively forming a closed system which regulates primarily visceralfunctions to maintain homeostasis. This balancing is maintained belowthe level of Neurons 12 activity, which correspondingly are not shown.

FIG. 5 illustrates the beginning of how the technology organizes thehierarchical neuroanatomic definitions. When the definitions arecompleted a series of processes builds the definitions into Environment4 ready for simulation. In this illustration a 3-dimensional coordinatesystem is constructed along x, y and z axes. The coordinate system isdivided into blocks which lend themselves to defining distinct areas asin FIG. 6. This highest level organization within CoordinateSuperstructure with Blocks 80 follows Brodmann's chart designations ofdistinct cytoarchitectural areas. For Neurons 12 there are typically sixlayers along the z-axis per block, whereas for Neurons 13 there aretypically three layers. Superstructure 80 is flat, which simplifies thetopology without loss of function. The maximum x, y coordinates arecomputed from an algorithm which first looks at the number of blocks tobe allocated as defined by the user in Cortical Distribution Table 1.Table 1 shows three parameters, which are duplicated per area the userdefines. The total number of these definitions in Table 1 are the numberof blocks to be allocated. Then the maximum number of neuron allocationsper layer per block are searched for using Table 1 and Cortical LayersTable 2. The square root of the maximum number is rounded up to aninteger value and establishes the length and width of a block withenough additional space so that neurons do not have to be allocated ontop of each other. The length and width of the maximum block size servesas the base of coordinates needed for all blocks in the Superstructure80. The maximum coordinates are then the number of blocks times theindividual blocks' length and widths respectively.

TABLE 1 Cortical Distribution Table Parameter Description 201 CorticalArea Number Brodmann's chart number of distinct cortical area 202Subcortical Area Number to demarcate distinct Number subcortical area203 Block Number Block's number in the coordinate superstructure Theabove pairings of 201 and 203, or 202 and 203, are created for everyblock in the superstructure.

TABLE 2 Cortical Layers Table Parameter Description 201 Cortical AreaNumber Brodmann's chart number of distinct cortical area 202 SubcorticalArea Number to demarcate distinct Number subcortical area 211 LayerNumber Layer number for 201 or 202 212 Neuron Type Neuron typeinhabiting 211 213 Repetitions Number of duplications of 212 in thislayer 211 214 Preferences Connection preferences for this 212 Otherneuron type 212 Exclusive or not . . . 215 Default Preference Controlsthe default of nearest neighbor or random connection for this neuron:0—nearest, 1—random The above definitions are created for every uniqueArea Number 201 and 202 in Table 1

FIG. 6 illustrates an overhead view of part of the Superstructure 80overlaid with area numbers 201. When the user chooses numbers torepresent cortical areas, as illustrated, those numbers could come froma Brodmann's area chart (51 distinct areas) or from any organizationalchart that distinguishes cytoarchitectural areas, e.g. Vogts ('19)parcellation (200 distinct areas). The user is also free to create anydesignation that is meaningful. The area numbers can also representsubcortical structures 202. The block-natured superstructure permitsrepetition of cortical area definitions without requiring the user toredefine each block's internal organization. The same area type cancover large or small volumes (many blocks or a single block) as bestsuits the users' needs and requirements.

FIG. 7 illustrates completed hierarchy of Neuroanatomic Definitions 20in the form of three sets of table definitions with interrelatedparameters: Distribution Table 200, Layers Table 210 and NeuronCharacteristics Table 220. When a neuroanatomist distinguishes an areaas being cytoarchitecturally distinct, they base this highest leveldesignation on the number of layers of the area and the neuron types andabundance of these types within each layer. That approach is replicatedby the technology in Tables 200, 210 and 220 within FIG. 7. The userfirst of all establishes high level area designations 201 and 202 ofdistinct areas within Table 200 for each Block Number 203 of the entireSuperstructure 80. Each area then has its layers defined within Table210, which identifies per Layer 211, the Neuron Types 212 and theabundance of those neurons, Repetitions 213. Then, the specificcharacteristics of the Types 212 are elaborated within NeuronCharacteristics Table 220. Note that Neuron Characteristics Table 220requires an Area 201 or Area 202 parameter to specify a Layer 211 aswell as a Block 203 parameter. This supports the ability to specify thatan axon can travel outside of its own Block 203 to terminate in another203 within the Superstructure 80. This supports a brain's long-rangecommunications mimicking fasciculi as well as short-range inter-areacommunications. Table 220 also contains detail about Type 212's Axons221 and Dendrites 222. Axon 221 parameter consists of its terminationdesignation as specified by Layer 2210 and Block 2211 and the number ofaxon branches as specified by its Repetition 2212 parameter. Dendrite222 parameter consists of its origination as specified by Layer 2220 andBlock 2221. These origination parameters support the concept oflocalized dendrite compartments at layers different from that of theneuron's soma. As well, the designations support a dendrite crossingblock boundaries for inter-region communication. Accordingly thispermits modeling the reality that Areas 201 and 202 are not isolatedislands of consistency but blend into other Areas 201 and 202respectively.

TABLE 3 Neuron Characteristics Table Parameter Description 203 BlockNumber Block number from Distribution Table 212 Neuron Type Neuron typefrom Layers Table 221 Axon Axon for 212 Axon Layer Termination layer for221 Axon Block Termination block for 221 Axon Repetitions Number ofduplications for 221 222 Dendrite Dendrite for 212 Dendrite LayerOrigination layer for 222 Dendrite Block Origination block for 222Dendrite Repetitions Number of duplications for 222 The abovedefinitions are created for every block in the superstructure.

TABLE 4 Variable Control Table Parameter Description 270 MGB Buffer SizeSize of Medial Geniculate Body buffer 271 LGB Buffer Size Size ofLateral Geniculate Body buffer 272 VPL Buffer Size Size of VentralPosterolateral buffer 273 Blood Buffer Size Size of Blood Componentsbuffer 276 Proximal Distance Maximum distance considered for connections279 Default Connection Controls the default of nearest neighbour orrandom connection for all neurons: 0—nearest, 1—random 280 SpikePercentage Percentage of active dendrites required to form spike 281 RunType Execution parameter 1 = external simulator 2 = internal simulator 3= external hardware 290 Build Type Build parameter. 1 = create newneuron file 2 = use and existing neuron file 3 = use and update existingneuron file 291 Input File Name Name of neuron records input file 291Output File Name Name of neuron records output file

FIG. 8 illustrates an overview of Build 23 processes, which take theNeuroanatomic Definitions 20 and parameters from Variable Control Table4 and create Nervous System Environment 4 consisting of Central NervousSystem 9, Peripheral Nervous System 10 as well as Non-NeuronalComponents 11. As directed by user input, Control 52 reads parameters524 and 525 from Control Table 7 to determine whether or not Build 23processes should be followed immediately by a simulation run or not.Control 52 directs Manager Interface 50 to initiate Build 23 Phase I.Build 23 Phase I reads parameters 290 and 291 from Variable ControlTable 4 to establish what kind of Neuron File should be created as aresult of Build 23. Neuron File detail is provided in FIG. 9 and FIG. 10and consists of neurons 12 and Neurons 13.

TABLE 7 Control Table Parameter Description 521 Start Simulation Startthe simulation run using neuron file 291 522 Pause Simulation Pause thesimulation 523 Stop Simulation Stop the simulation 524 Start Build Startthe Build process 23 Phase I and Phase II 525 Start Build and Run Startthe Build process 23 and begin simulation 521

Neurons 13 created by Build 23 Phase I also organize Peripheral Neurons14 created during Build 23 Phase II in that Neurons 13 are organizedinto distinct Subcortical Area 202 whereas Neurons 14, which are part ofPeripheral Nervous System 10, become part of the input/output to those202 areas. Build 23 Phase II is automatically initiated by ManagerInterface 50 upon the successful completion of Build 23 Phase I. Build23 Phase II reads parameters 270, 271, 272 and 273 from Variable ControlTable 4 in order to establish sizes for Peripheral Buffers 15 inPeripheral Nervous System 10. Peripheral Buffers 15 are created as aresult of 23 Phase II instantiating the classes to which the buffersbelong. In one embodiment, Java classes for thalamic nuclei MedialGeniculate Body (MGB)—sound, Lateral Geniculate Body (LGB)—vision,Ventral Posterolateral (VPL)—touch and pain, and Blood are provided withthe technology but require user customization to Methods 2 and 6 toprecisely fit the user's requirements. Blood 16 component for the hungerrelated hormone, ghrelin, is also provided with the technology inHormones 17. Other components for Peptides 18 or Neurotransmitters 19would need to be provided by the user but would be modeled similarly to17. Manager Interface 50 monitors both 23 Phase I and II and passes theresulting data through Reporting 54 module for report formatting asOutput to User.

FIG. 9 illustrates further detail of Build 23 Phase I processes.Allocate Cortical Neurons 260 reads Definitions 20 in a top-down manneras illustrated in FIG. 7. In other words, from Cortical Area 201 toLayer 211 then for each Type 212 within 211 a Neuron Record 12 isallocated of requested Type 212 and the allocation is repeated accordingto Repetitions 213. When Record 12 is allocated Axons 221 and Dendrites222 are also allocated according to Repetitions 2212 and 2222accordingly. The result is Neuron Record 12 as illustrated in FIG. 10.Next, Create VAT 261 process is called to create a coordinate skeletonfor the entirety of Axons 221 each of which has Coordinates 2214.Coordinates 2214 are then populated to the VAT by Populate VAT 262.Next, Allocate Subcortical Neurons 263 is invoked to create Neuron 13records. To accomplish this, Allocate 263 uses the Definitions 20 byreading all of the Area 202 definitions and for each one, looks at eachLayer 211 parameter and for each one looks at the Neuron Type 212 andRepetitions 213 and allocates the corresponding number of Neuron 13records as illustrated in FIG. 10. Next, Peripheral Neuron Extract 264process is called, which goes through the list of Neuron 13 recordslooking for those which require Peripheral Neuron 14 processing,according to the Class Instantiation Table 8 Class Name 401 parameter,and creates Peripheral Neurons 14. The Peripheral Neurons 14 designationguides the run-time simulation as to which Neurons need special System10 processing.

TABLE 8 Class Instantiation Table Parameter Description 401 Class NameName of the Java class to be instantiated The above is repeated forevery required class

Next, Create VDT 265 process is called to create a coordinate skeletonfor the entirety of Dendrites 222 each of which has Coordinates 2224.Coordinates 2224 are then populated to the VDT by Populate VDT 266. Thefinal steps in Build 23 Phase I are concerned with using the VAT and VDTto Connect Axons to Dendrites 267 and to Connect Dendrites to Axons 268.Connect 267 goes through the Neuron Records 12 and 13 looking at eachAxon 221's Coordinates 2214. Corresponding coordinates in the VDT arescanned looking for a proximally located dendrite entry that is free forconnection. “Proximally located” refers to Table 4's Proximal Distance276 parameter. Distance 276 is calculated by the technology during thecreation of the Coordinate Superstructure with Blocks 80 described inthe detail of FIG. 5. The calculation is a result of searching formaximum distance between any two Neurons 12 or 13. The maximum distancefound is the value used for Distance 276. The dendrite candidate isverified to not be from the same neuron as that of the axon by usingNeuron ID 241. A further check is made from Layers Table 2 to see if theNeuron Type 212 for this Axon 221 has a Preference 214 parameter for theNeuron Type 212 belonging to the candidate Dendrite 222. If so allDendrite 222's Types 212 within Distance 276 parameter are scrutinizedusing Table 2 Preference 214 parameters in descending order. If acandidate is found it is connected. However, if Exclusive is indicatedin Preferences 214 then the search focuses exclusively on that Type 212for connecting axon to dendrite. If no Preference 214 parameter is setthen a check is made for Default Preference 215. If 215 has an entrythen either the nearest neighbor, most proximally located Axon 221 ischosen or a random selection is made amongst the candidate Axon 221 s.The decision is made according to Connection 215's setting. If DefaultPreference 215 has no value then the Default Connection 279 parameter isused. Connection 279 uses the same nearest neighbor or random selectionsettings as in Default Preference 215. A connection creates dual entriesfor both Neuron Types 212. Type 212 for the Axon 221 has its Connection2215 parameter set to the Neuron ID 241 of the Type 212 of the Dendrite222. The corresponding Type 212 for the Dendrite 222 has its Connection2225 set to the Neuron ID 241 that contains the Axon 221 which wasprecipitated by Connect 267. When Connect 267 has completed Connect 268is invoked to perform the analogous process of 267 but starting withDendrites 222 that might have not been connected by 267. Connect 268goes through the list of Neuron Records 12 and 13 looking at eachDendrites 222's coordinates 2224. Those coordinates are then searchedfor in the VAT looking for Axon 221 candidates within Distance 276parameter that are unconnected. The Neuron ID 241 of both Axon 221 andDendrite 222 are then verified to not be the same. If different thenLayers Table 2 is scanned using the Axon 221's Neuron Type 212 as a key.Then its Preference 214 parameter is scanned to see if the Neuron Type212 for the Dendrite 222's is listed. All such Axon 221 s withinDistance 276 parameter are scanned similarly and the highest preferenceis chosen. That occurs unless an Exclusive parameter is set in the 214Preference for a given Axon 221's Neuron Type 212. If so, and it matchesthe Neuron Type 212 of Dendrite 222 then that Axon 221 is chosen. If noPreference 214 parameter is set then a check is made for DefaultPreference 215. If Default Preference 215 has an entry then either thenearest neighbor, most proximally located Axon 221 is chosen or a randomselection is made amongst the candidate Axon 221 s. A decision is madeaccording to Default Preference 215 setting. If Default Preference 215has no value then the Default Connection 279 parameter is used.Connection 279 uses the same nearest neighbor or random selectionsettings as in Default Preference 215. The Axon 221 and Dendrite 222 arethen dually connected similarly to the Connection 267 process. Aconnection creates dual entries for both Neuron Types 212. Type 212 forthe Axon 221 has its Connection 2215 parameter set to the Neuron ID 241of the Type 212 of the Dendrite 222. Corresponding Type 212 for theDendrite 222 has its Connection 2225 set to the Neuron ID 241 thatcontains the Axon 221 which was found by Connect 268.

FIG. 10 illustrates further detail of Neuron Records 12 and 13. EachNeuron Record 12 and 13 has a parameter of its type, Neuron Type 212,which has been requested by the user. The technology assigns both theNeuron ID 241 and Coordinates 242. The technology also copies blocknumbers into each Neuron Record 12 and 13 and that is recorded inparameter Block Number 203. Each excitatory neuron also has a record ofits memories, Memory Record 250 as well as the particular memory whichis active, Active Memory 259. Neuron memories are described in furtherdetail in FIG. 11. and FIG. 15. Each Neuron Record 12 and 13 also haveparameters for their Axons 221 and Dendrites 222, which are copied tothe Neuron Record 12 and 13. During Build 23 Phase I the technologyassigns Axon 221 parameters ID 2213, Coordinates 2214 and Connection2215. Dendrite 222 parameters Layer 2220, Block 2221 and Repetitions2222 are established by the user in the Neuron Characteristics Table 3222 parameters. The Table 3 222 parameter are copied to the NeuronRecord 12 and 13. During Build 23 Phase I the technology assignsDendrite 222 parameters ID 2223, Coordinates 2224 and Connection 2225.

FIG. 11 illustrates further detail of Memory Record 250. A Record 250 isformed during a simulation run under conditions described in FIG. 14.However, for the sake of completeness in describing Neuron Records 12and 13 FIG. 11 is introduced here because it is part of Records 12 and13. Each time a Memory Record 250 needs to be formed template parametersare copied from Memory Table 5 into the Neuron Record 12 and 13. Theuser assigns Table 5 parameters Formation Percent 251 and MemoryElicitation Percent 252 for each Neuron Type 212 originating in LayersTable 2. The technology assigns Memory ID 253, Memory Size 254 andDendrites IDs List 255 dynamically according to the conditions whichformed the Memory Record 250.

FIG. 12 illustrates an overview of Build 23 Phase II. Build 23 Phase IIis responsible for building the Peripheral Nervous System 10 andNon-Neural Components 11. IN one embodiment, to create PeripheralNervous System 10, Build 23 Phase II uses the Peripheral Neurons 14created by the Peripheral Neuron Extract 264 in Build 23 Phase I as wellas Peripheral Buffers 15 and Transducer Methods 2 and 6. To createNon-Neuronal Components 11, Build 23 Phase II instantiates a Java classfor Blood, which acts as a container for subcomponents of other Javaclasses like Hormones 17, Peptides 18 and Neurotransmitters 19.Non-Neuronal Components 11 is optional. Build 23 Phase II usesparameters 270, 271, 272 and 273 from Variable Control Table 4 duringits processes.

TABLE 5 Memory Table Parameter Description 251 Formation Percent Forthis neuron type, the % of dendrites to form memory 252 MemoryElicitation Percent For this neuron type, the % of a memory to fire aspike 253 Memory ID Identifier for this memory 254 Memory Size Number ofdendrites participating in this memory 255 Dendrites IDs List DendriteIDs of this memory: ID 1 ID 2 ID 3 . . .

FIG. 13 illustrates expanded detail of Build 23 Phase II. Each type ofinput or output in the technology requires a separate Java class, in oneembodiment, which contains Peripheral Buffers 15 and Transducer Methods2 and 6. 23 Phase II instantiates those classes, according to the ClassInstantiation Table 8 Class Name 401 parameter, and uses Table 4parameters 270, 271 and 272 for Allocate Peripheral Buffers 301. AssignPeripheral Neurons to Buffers 302 takes Peripheral Neurons 14 andassociates them to Buffers 301. As a part of instantiating a classcontaining Transducer Methods 2 or 6 the Methods of that class areenabled and operational. Instantiating the class is performed by EnableTransducer Methods 303. When optional Non-Neuronal Components such as17, 18 and 19 are included as Java classes then they require a carryingmedium, Blood 16, of which they form subcomponents. In the process ofBuild 23 Phase II instantiating these optional classes Allocate BloodBuffer 305 is called to read parameter 273 from Table 4 and allocate aBlood Buffer of size 273. The resultant buffer has subcomponentsassigned to it by Assign Blood Components to Buffer 307 from componentssuch as 17, 18, 19 or others such as suits the user's requirements. TheTransducer Methods 2 and 6 required to put components into the BloodBuffer or read the contents of those components from the Blood Bufferare enabled by Enable Transducer Methods 306. As well, the user mightwant to include other Java methods for diffusing components into theBlood Buffer or to decay components from the Blood Buffer. These lattertwo kinds of methods are enabled by Enable Diffusion & Decay Methods308.

FIG. 14 illustrates the detail of an update cycle to Neuron 12 and 13when the Type 212 is inhibitory. For inhibitory neurons, which are notregarded as having memory capacity, an update cycle consists of twoprocesses: activating dendrites with Axon 221 Values 2216 from theprevious update cycle and then calculating a current Axon 221 Value 2216for the next update cycle. The first process is completed for allneurons before the second process begins. This approach mimics theparallel processing of nervous systems by insuring that each neuron isguaranteed to be updated at each time step. Other approaches such asonly updating a neuron when its dendrites change values have a tendencyto regressively update specific neurons while ignoring the rest of thesystem's activity in a dyssynchronous fashion. Update Dendrites WithAxon Values 90 takes the previous update cycle's Axon 221, Value 2216and brings the value in contact for the Dendrites 222 that are pointedto by Connection 2215. The Dendrite 222's Value 2226 is then passedthrough Spike Percent 280 and if Value 2226 has at least Spike Percent280's value then Value 2226 is passed to Neuron Firing State 97. IfState 97 has a value passed to it then the value is sufficient to causea neuron spike, which represents a value placed onto its Axons 221.Update Axons With Neuron Firing State 99 accomplishes this task and forevery one of its Axon 221 places a positive value of 1 into Value 2216.

FIG. 15 illustrates the detail of an update cycle to Neuron 12 and 13when the Type 212 is excitatory. For excitatory neurons, which areregarded as having memory capacity, an update cycle consists of threeprocesses: activating dendrites with Axon 221 Values 2216 from theprevious update cycle and then establishing whether or not to create oractivate a memory and then calculating current Axon 221 Values 2216 forthe next update cycle. The first process is completed for all neuronsbefore the second and third processes begin. This approach mimics theparallel processing of nervous systems by insuring that each neuron isguaranteed to be updated at each time step. Update Dendrites With AxonValues 90 takes the previous update cycles Axon 221, Value 2216 andbrings the value in contact for the Dendrites 222 that are pointed to byAxon 221's Connection 2215. The Dendrite 222's Value 2226 is then passedthrough Spike Percent 280 and if Value 2226 has at least Percent 280'svalue then Value 2226 is passed to Neuron Firing State 97. If State 97has a value passed to it then the value is sufficient to cause a neuronspike, which represents a value placed onto its Axons 221. Update AxonsWith Neuron Firing State 99 accomplishes this task and for every one ofits Axon 221 places a positive value of 1 into Value 2216. The othervalue, which may be passed to Calculate 97, originates with theactivation of a Memory 250 record, whose original formation begins withDendrite 222's Value 2226. That value is passed through Memory Table 5Formation Percent 251 parameter. If the value is passed to MemoryFormation 93 then there is a value sufficient to form a memory and ifso, forms a Memory Record 250 subject to this being a new memory.Creating the Record 250 begins with copying the FIG. 11 parameters as atemplate into Neuron 12 or 13. A Memory ID 253 is determined by addingthe value of 1 to the next most recently formed Memory Record 250, ifany; else the ID begins with 1. The number of Dendrite 222'sparticipating in the Record 250 is recorded as Memory Size 254 and theDendrite IDs 255 of the Dendrites 222 participating in the new Record250 is also recorded. To determine if this is a new Record 250, theValue 2226 is passed to Table 5 Memory Spike Percent 252 parameter andCalculate Memory Elicitation 95 scans Memory Records 250 to see if theValue 2226 and Percent 252 are sufficient to elicit a previous Record250. If so, no new Record 250 is formed and the past Record 250 is madethe Active Memory 259.

Table 6 shows options available for Reporting 54 as shown in FIG. 1 andFIG. 8. Reports by default are shown on the display console device butoptionally, if the user fills in Report File Name 541, then the consolereport will also be written to the file. Report Type 542 gives thesimulation run report options. Type 542=1 indicates that all Neuron 12and 13, which have positive Axon 221 Value 2216 will be reported. Type542=2 indicates that Autonomic Nervous System 40 activity will also bereported. Type 542=3 indicates that Neuron 12 and 13 which have positiveAxon 221 Value 2216 will be reported as well as any Dendrite 222'scausing that value. If Memory Allocation 543=Yes then every new Neuron12 and 13 Memory Record 250 will be reported. During Build 23 the userhas the following report options. If Neuron Allocation 544=Yes then allNeuron 12 and 13 allocated are reported. If Neuron Connection 545=Yesthen all Neuron 12 and 13 connections are reported.

TABLE 6 Report Table Parameter Description 541 Report File Name Name ofreport file 542 Report Type Report 1 = Neuron activity only 2 = Neuronand non-neural activity 3 = Neuron and dendrite activation 543 MemoryAllocation Memory allocation report: yes or no 544 Neuron AllocationNeuron allocation report: yes or no 545 Neuron Connection Neuronconnection report: yes or no

While the foregoing written description of the technology enables one ofordinary skill to make and use what is considered presently to be thebest mode thereof, those of ordinary skill will understand andappreciate the existence of variations, combinations, and equivalents ofthe specific embodiment, method, and examples herein. For example,although Brodmann cytoarchitectural mapping is employed in embodimentshere, other cytoarchitectural mappings may be used. Similarly, thenumber of neurons and number of cortical layers modeled may vary,depending upon the brain of a particular living, extinct, imaginary, orartificial species being modeled. Furthermore, although particularcomputer or modeling languages are disclosed, other computer or modelinglanguages my be used. The technology presented here should therefore notbe limited by the above described embodiments, methods, or examples, butby all embodiments and methods within the scope and spirit of thesubject technology.

I claim:
 1. A method for organizing neuroanatomical andcytoarchitectural area information about a brain comprising: forming a 3dimensional superstructure representing the brain or portion of thebrain, the superstructure comprising one or more parallel layers, eachsaid parallel layer being is an x-y plane, said parallel layers beingarranged top to bottom along a z-axis, wherein the z-axis isperpendicular to each x-y plane and to each said layer, each saidparallel layer comprising zero or more blocks, each said block beinguniquely numbered; forming an association of a one or morecytoarchitectural areas uniquely onto one or more said blocks of a toplayer of said parallel layers, where each said block being uniquelyassociated with a single said cytoarchitectural area; assigning zero ormore neuron members to each said block, each said neuron member being ofa particular type and having one or more dendrite members and one ormore axon members; defining each said parallel layer to include one ormore said blocks, further identifying each type of said neuron member ineach said parallel layer and in each said block, and further identifyinga numerical count for each type of said neuron member in each saidparallel layer; defining characteristics of each neuron member in eachsaid parallel layer in each said block; defining characteristics of eachsaid neuron member and its one or more dendrite members and one or moreaxon members; specifying in particular said parallel layer where eachsaid neuron member resides; specifying said type of each said neuronmember; specifying a numerical count of each type of each said neuronmember in each said parallel layer; defining characteristics such thateach said neuron member may have zero or more said dendrite members andzero or more said axon members is zero or more said parallel layers,thus allowing communication between and among said neuron members indifferent said parallel layers and in different said blocks; andencoding the organized neuroanatomical information into machine readableand machine operable format as a nervous system environment.
 2. Themethod of claim 1 wherein the cytoarchitectural area information isdefined by Brodmann area definitions.
 3. The method of claim 1 whereinthe cytoarchitectural area information is defined by Vogt areadefinitions.
 4. The method of claim 1 wherein the cytoarchitectural areainformation represents human beings.
 5. The method of claim 1 whereinthe cytoarchitectural area information represents non-human beings. 6.The method of claim 1 wherein the cytoarchitectural area informationrepresents artificial beings.
 7. A utility for convertingneuroanatomical information into a nervous system environment accordingto specifications from a user, the nervous system environment furtherinteracting with an external environment, comprising: a managerinterface through which the user effects control of the utility,observes operation of the utility, and provides neuroanatomicalinformation to the utility; organization means, for directing thearrangement of neuroanatomical information to create the nervous systemenvironment, build means in one or more phases, for arranging theneuroanatomical information according to the specifications, said buildmeans being directed according to said organizing means; control meansmanaging the flow and arrangement of the neuroanatomical informationwithin the utility; input means for receiving sensor data from theexternal environment; output means for presenting information to theexternal environment; and reporting means.
 8. An artificial nervoussystem environment operating in and interacting with an externalenvironment comprising according to user specifications: a utility fororganizing neuroanatomical information to define operation of thenervous system environment according to the user specifications;computer instruction means directing a computer system to organiseneuroanatomical information according to said user specifications, saidcomputer system further operating on the neuroanatomical information anduser specifications as directed by said computer instruction means;input sensor means for providing information from the externalenvironment to the nervous system environment; output means forpresenting information to the external environment; and reporting means.9. The artificial nervous system environment of claim 8 wherein thenervous system is deployed in a robot.
 10. The artificial nervous systemenvironment of claim 8 wherein the nervous system environment is used tocontrol one or more external devices.